/*
 * Filename:    IntegrityBusinessService.java
 * Copyright:   2014 中国平安保险（集团）股份有限公司 版权所有
 * Company:     平安科技养老险及健康险系统开发部
 * Create at:   2014年10月29日
 */
package com.paic.mhis.hcpms.trust.biz.service;

import java.util.List;
import java.util.Map;

import com.paic.mhis.core.auth.biz.service.UserDetails;
import com.paic.mhis.hcpms.trust.dto.BlackParamterCondtion;
import com.paic.mhis.hcpms.trust.dto.BlackPatientBaseInfoDTO;
import com.paic.mhis.hcpms.trust.dto.IntegrityBlackDTO;
import com.paic.pafa.exceptions.BusinessException;

public interface IntegrityBusinessService {

	public IntegrityBlackDTO getIntegrityBlackDTOById(String id);

	/**
	 * 处理批量审核参保人诚信黑名单信息
	 * 
	 * @param idsList
	 * @param user
	 * @return
	 */
	public Map<String, Object> processBlackAuditInfo(List<String> idsList, UserDetails user, String opinion,
			String opinionDesc);

	/**
	 * 撤销操作
	 * 
	 * @param blackId
	 */
	public Map<String, Object> cancelBuinsessProcess(String blackId);

	public List<Map<String, Object>> queryAttentionLevelInfo(String type, String attentionLevelId);

	public long queryBlackPaientBaseInfoCount(BlackParamterCondtion bean);

	/**
	 * 查询参保人信息
	 * 
	 * @param bean
	 * @return
	 */
	public List<BlackPatientBaseInfoDTO> queryBlackPatientBaseInfoDTO(BlackParamterCondtion bean);

	/**
	 * 保存参保黑名单
	 * 
	 * @param bean
	 */
	public void saveIntegrityBean(IntegrityBlackDTO bean);

	/**
	 * 多条记录保存
	 * 
	 * @param bean
	 */
	public void processIntegrityBeanList(List<IntegrityBlackDTO> bean);

	/**
	 * 查询参保黑名单
	 * 
	 * @param paramter
	 * @return
	 */
	public List<IntegrityBlackDTO> queryIntegrityBlackDTO(BlackParamterCondtion paramter);

	/**
	 * 更新参保黑名单信息
	 * 
	 * @param bean
	 */
	public void updateIntegrityBlackDTO(IntegrityBlackDTO bean);

	/**
	 * 查询总记录数
	 * 
	 * @param paramter
	 * @return
	 */
	public long queryIntegrityBlackDTOCount(BlackParamterCondtion paramter);

	/**
	 * 根据社保号查询用户信息
	 * 
	 * @param sociationNum
	 * @return
	 */
	public IntegrityBlackDTO getIntegrityBlackDTOBySociationNum(String sociationNum);

	/**
	 * 加载所有的黑名单
	 * 
	 * @return
	 */
	public List<IntegrityBlackDTO> loadAllIntegrityBlackDTO(BlackParamterCondtion parameter);

	public boolean processCheckBlackExist(String personCard);

	/**
	 * 验证参保人诚信管理上载 Excel中的“关注级别”、“关注时限”、“违规情节” 填写的是否正确
	 * 
	 * @return
	 */
	public IntegrityBlackDTO queryattentionMidIdCilck(String sociationNum);

	/**
	 * 
	 * @param sociationNum
	 * @return
	 */
	public List<IntegrityBlackDTO> queryattentionMidIdCilckList(String sociationNum);

	/**
	 * 
	 * @param name
	 * @param cardNo
	 * @param cardType
	 * @return
	 */
	public long querySameParamPerson(String name, String cardNo, String cardType);

	/**
	 * 
	 * @return
	 */
	public void queryBlackWithExportExcel(String filePath, String fileNameResource, String fileNameTarget)
			throws BusinessException;
	/**
	 * 获得当前流水和时间
	 */
	public List<Map<String, Object>> getCurrentSwiftNumber();

	public void updateCurrentSwiftNumber(Map<String, Object> paraMap);

}
